{{tag>Xenial serveur réseau système}}

----

====== Installation d'un serveur mercurial ======

Cette page vous présente comment installer un serveur Mercurial sur un système linux ayant [[:APT]] ainsi que comment l'utiliser.

<note tip>
Mercurial est un outil de gestion de versions décentralisés comme git, Bazaar, Darcs, Monotone, SVK ou GNU Arch.\\
Pourquoi mercurial ? Il est très facile à mettre en place et à utiliser.
</note>


===== Installation =====

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>mercurial]]**.

testez que mercurial est bien installé : <code bash>hg version</code>
  
Vous devriez obtenir quelque chose comme ça à la version près : <code bash>Mercurial Distributed SCM (version 3.7.3)
(see https://mercurial-scm.org for more information)

Copyright (C) 2005-2016 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</code>

===== Configuration =====

Tout d'abord, créez un dossier où stocker les dépôts et ses sous-dossiers : <code bash>sudo mkdir -p /var/hg/repositories /var/hg/tools</code>
Puis mettez à jour la base de données index.cgi :  <code bash>sudo updatedb</code>
Enfin copiez le fichier ''index.cgi'' de **/usr/share/gitweb** vers **/var/hg/tools** : <code>sudo cp /usr/share/gitweb/index.cgi /var/hg/tools/index.cgi</code>

<note help>Si vous ne trouvez pas index.cgi faites un : <code>locate index.cgi</code> pour trouver dans quel dossier il se trouve.</note>

===== Premier dépôt =====

Votre premier dépôt : <code bash>sudo mkdir /var/hg/repositories/mon_repo
sudo chown www-data:www-data /var/hg/repositories/mon_repo
sudo hg init /var/hg/repositories/mon_repo</code>

[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/var/hg/tools/hgweb.config** puis ajoutez les lignes suivantes : 
<file>
[paths]
mon_repo = /var/hg/repositories/mon_repo/
</file>
si vous créez un deuxième dépôt, même manipulation que pour le premier : 
<code bash>sudo mkdir /var/hg/repositories/mon_repo2
sudo chown www-data:www-data /var/hg/repositories/mon_repo2
sudo hg init /var/hg/repositories/mon_repo2</code>
[[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] **/var/hg/tools/hgweb.config** pour avoir : 
<file>
[paths]
mon_repo = /var/hg/repositories/mon_repo/
mon_repo2 = /var/hg/repositories/mon_repo2/</file>


===== Désinstallation =====

Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.
===== Liens =====

  * **(fr, en)** [[https://www.mercurial-scm.org/|Site officiel de mercurial]]